package org.jeecg.modules.wlhy.order.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.wlhy.order.entity.*;
import org.jeecg.modules.wlhy.order.vo.HyOrderVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Description: hy_order
 * @Author: jeecg-boot货源管理
 * @Date:   2020-12-03
 * @Version: V1.0
 */
public interface IHyOrderService extends IService<HyOrder> {

    int getCountByDate(String dateString);

    List<OrderMonthTotalDTO> getOrderMonthTotal(String customerId , String startMonth , String endMonth);

    Result addOrder(HyOrderDTO hyOrder);

    IPage<HyOrderVO> getPageList(Page<HyOrderVO> page, QueryWrapper<HyOrderVO> queryWrapper);

    IPage<HyOrderVO> getPageListByDis(Page<HyOrderVO> page, Map p);

    int getShippingNums(String orderId);

    Result<?> editOrder(HyOrderDTO hyOrder);

    void saveBatchOrder(List <HyOrder> listOrder);

    Result<?> addAgentOrder(HyOrderDTO hyOrder);

    HyOrder ImportOrderDTOTOOrder(ImportOrderDTO importOrderDTO, String toString);

    BigDecimal getShippingFinishWeightById(String id);

    int selectOrderZhangQi(String accountingPeriod,String customerId);

    Result zybOrderFinish(HyOrder hyOrder);

    HyOrderApiDTO getInfoById(String id);
    IPage<HyOrderVO> getPageListByCaptaionId(Page<HyOrderVO> page, QueryWrapper<HyOrderVO> queryWrapper);
}
